package com.portal.incurridos.persistence.dao;

import com.portal.incurridos.persistence.enumeration.StateTransactionEnum;

/**
 * @author Alan Dávila
 * e-mail ustargab@gmail.com
 * date 26/11/2013 22:57:28
 */
public interface CommitmentDao {

	/**
	 * Get the required commitment.
	 * @param commitment Identifier of required commitment.
	 * @return Object with the information.
	 */
	CommitmentDao get(final Long commitment);
	/**
	 * Create a new commitment.
	 * @param commintment New object to insert into the data base.
	 * @return New object with the identifier created.
	 */
	CommitmentDao create(final CommitmentDao commintment);
	/**
	 * Update a existing commitment.
	 * @param commitmentDao CommitmentDao to update.
	 * @return State of the operation.
	 */
	StateTransactionEnum update(final CommitmentDao commitmentDao);
	/**
	 * Delete a existing commitment.
	 * @param commitmentDao CommitmentDao to delete.
	 * @return State of the operation.
	 */
	StateTransactionEnum delete(final CommitmentDao commitmentDao);
}
